package com.yc.ServerClient;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

/***
 * 基于UDP的Socket的接收器
 */
public class Test9_udp_receive {
    public static void main(String[] args) throws IOException {
        byte buf[]=new byte[1024];  //字节数组 用于缓冲数据
        DatagramPacket dp=new DatagramPacket(buf, buf.length);//构建一个数据包对象
        DatagramSocket ds=new DatagramSocket(3333); //构建一个数据包socket 占用UDP的3333端口 进行接收

        ByteArrayOutputStream baos=new ByteArrayOutputStream();

        while (true){
            System.out.println("阻塞式的 receive方法");
            //阻塞式方法  等待发送端的数据的到来
            ds.receive(dp); //用这个9999端口来接收数据 存在dp数据包对象中的buf缓冲空间

            System.out.println(new String(buf,0,dp.getLength())); //将字节数组转为字符串输出

            //baos.write( buf,0,dp.getLength() );
            //baos.flush();

        }
    }
}
